import ArrayQueue from '../02_队列结构Queue/01_实现队列结构Queue'

// 队列头部只能出，尾部只能近，双端队列的话应该给头部添加近的方法，尾部添加出的方法
class ArrayDeque<T> extends ArrayQueue<T> {
    addFront(value:T){
        this.data.unshift(value);
    }
    removeBack(): T | undefined{
        return this.data.pop();
    }
}

const deque = new ArrayDeque<string>();

deque.enqueue('aaa');
deque.enqueue('bbb');
deque.enqueue('ccc');
deque.enqueue('ddd');
deque.enqueue('abc');
deque.enqueue('cba');

while(!deque.isEmpty()){
    console.log(deque.removeBack())
}


export {}